package sige

import sige.cive.DespesaFixaJob

class DespesaFixaService {

    def inserir(despesa){
        def periodo = despesa.sazonalidade //"Semanal", "Mensal", "Anual"
        def d = despesa.dataDeVencimento
        Calendar c = Calendar.instance
        c.time = d
        def cronExp = "0 0 0 " // "s m h D M W Y"
        def diaMes = "?"
        def mes = "*"
        def diaSemana = "?"
        def ano = ""
        
        switch (periodo){
            case "Mensal":
                diaMes = ""+c[DAY_OF_MONTH]
                break
            case "Semanal":
                mes = "?"
                diaSemana = ""+c[DAY_OF_WEEK]
                break
            case "Anual":
                diaMes = ""+c[DAY_OF_MONTH]
                mes = ""+c[MONTH]
                ano = "*"
        }
        cronExp+= diaMes+" "+mes+" "+diaSemana+" "+ano
        cronExp = cronExp.trim()
        def map =[:]
        map["despesa"] = despesa
        //inserir um ou dois pagamentos dependendo da data - proteção contra data já passada
        DespesaFixaJob.schedule (conExp, map)
    }
}
